package com.example.rssreader.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.time.LocalDateTime;

/**
 * RSS源实体类
 * 用于存储RSS源的基本信息
 * 
 * @author RSS Reader Team
 * @version 1.0.0
 * @since 2024-01-01
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("rss_feed")
public class RssFeed {

    /**
     * RSS源ID - 主键，自增
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * RSS源标题
     * 不能为空，最大长度200字符
     */
    @TableField("title")
    private String title;

    /**
     * RSS源URL地址
     * 不能为空，唯一约束，最大长度500字符
     */
    @TableField("url")
    private String url;

    /**
     * RSS源描述信息
     * 可选字段，用于存储RSS源的详细描述
     */
    @TableField("description")
    private String description;

    /**
     * 最后更新时间
     * 记录RSS源最后一次成功抓取的时间
     */
    @TableField("last_updated")
    private String lastUpdated;

    /**
     * 创建时间
     * 自动填充，记录RSS源添加时间
     */
    @TableField(value = "created_at", fill = FieldFill.INSERT)
    private String createdAt;

    /**
     * 更新时间
     * 自动填充，记录RSS源信息最后修改时间
     */
    @TableField(value = "updated_at", fill = FieldFill.INSERT_UPDATE)
    private String updatedAt;

    /**
     * 逻辑删除标记
     * 0-未删除，1-已删除
     */
    @TableLogic
    @TableField("deleted")
    private Integer deleted;


}